﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Ucb.Workshop.Dal;
using Ucb.Workshop.Model;
using Ucb.Workshop.Business.Util;



namespace Ucb.Workshop.WinApp.View.GestionProducto
{
    public partial class ControlBuscarProducto : UserControl
    {
        DBManager conexion;
        public Producto producto;
   
        public Producto Producto
        {
            get { return producto; }
            set { producto = value; }
        }
        
        public ControlBuscarProducto()
        {
            conexion = new DBManager();
            producto = null;
            InitializeComponent();
        }
        public void llenarProducto(string descripcionBuscar)
        {
            string consulta;
          
            if (Util.EsNumero(descripcionBuscar))
            {
                 consulta = "SELECT p.cod_producto, p.codigo, p.descripcion, p.unidad, p.categoria FROM producto as p WHERE p.codigo LIKE '%" + descripcionBuscar + "%'";
             
            }
            else
            {
                consulta = "SELECT p.cod_producto, p.codigo, p.descripcion, p.unidad, p.categoria FROM producto as p WHERE p.descripcion LIKE '%" + descripcionBuscar + "%'";
            }
            conexion.LlenarGrid(gridProducto, consulta);
            gridProducto.Columns[0].Visible = false;
            gridProducto.Columns[1].HeaderText = "Codigo";
            gridProducto.Columns[2].HeaderText = "Descripcion";
            gridProducto.Columns[3].HeaderText = "Unidad";
            gridProducto.Columns[4].HeaderText = "Categoria";
        }
        public string datoGrid(int fila, int columna)
        {
            //conoser el valor
           return gridProducto.Rows[fila].Cells[columna].Value.ToString();
        }
        private void gridProducto_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int fila = e.RowIndex;
            int columna = e.ColumnIndex;
            int numeroFilas = gridProducto.RowCount;
            if (numeroFilas >0 && fila >-1 && fila <numeroFilas -1)
            {
                Producto p = new Producto();
                p.Cod_producto = int.Parse(datoGrid(fila, 0));
                p.Codigo = datoGrid(fila,1).ToString();
                p.Descripcion = datoGrid(fila, 2).ToString();
                p.Unidad = datoGrid(fila, 3).ToString();
                p.Categoria = datoGrid(fila, 4).ToString();
                this.Producto = p;
            }

        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox1_KeyUp(object sender, KeyEventArgs e)
        {
            llenarProducto(txtDescripcion.Text);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            llenarProducto("");
        }

        private void gridProducto_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }
    }
}
